.. _Data preparation for NeurEco Discrete Dynamic python:

Data preparation for NeurEco Discrete Dynamic with the Python API
==================================================================

The python API expects the data for model construction or evaluation in form of a list of NumPy arrays containing the data.

• allowed types of arrays: int, float, double

• each **time** array contains one column corresponding to a time variable, it is a finite arithmetic sequence with spacing equal to time-step

• each **input (excitation)** array contains a table:

  • number of columns is the number of input features (excitations)
  
  • number of line is the same as in corresponding **time** array
  
  • each line contains: the values of input features (excitations) at point of time found at the same line number of the corresponding **time** array
  
• each **output** array contains a table:

  • number of lines is the same as in the corresponding **time** and **input (excitation)** arrays
    
  • number of columns is equal to the number of output features
  
  • each line contains: the values of output features at point of time found at the same line number of the corresponding **time** array
  
• The **time-step** must be the **same** for all tables

• When data represent multiple experiences, they are passed as multiple **time**, **input (excitation)** and **output** arrays. In this case pay attention to preserving the correspondence between **time**, **input (excitation)** and **output** arrays. 

• The **time** array in different set of **time/input (excitation)/output** arrays are not required to be the same, they can have different length and/or initial time-point, but the time-step must stay the same for all experiences. 

There is no need to normalize the data, as the normalization is handled by NeurEco, :std:ref:`Normalizing the data for Discrete Dynamic python`.

